package com.itheima.service.impl;

import com.github.pagehelper.PageHelper;
import com.itheima.domain.store.QuestionItem;
import com.itheima.mapper.store.QuestionItemMapper;
import com.itheima.service.QuestionItemService;
import com.itheima.utils.MapperUtil;
import com.itheima.utils.UidUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

//QuestionItemService实现类
public class QuestionItemServiceImpl implements QuestionItemService {
    /**
     *
     * @param questionId
     * @return
     */
    @Override
    public List<QuestionItem> findAll(String questionId) {
        SqlSession session = MapperUtil.getSession();
        QuestionItemMapper mapper = session.getMapper(QuestionItemMapper.class);
        List<QuestionItem> list=mapper.findAll(questionId);
        MapperUtil.close(session);
        return list;
    }


    /**
     * 新增(其中ID(string类型)用UUID对象生成)
     * @param questionItem
     */
    @Override
    public void save(QuestionItem questionItem) {
        SqlSession session = MapperUtil.getSession();
        QuestionItemMapper mapper = session.getMapper(QuestionItemMapper.class);
        String uid = UidUtil.getUid();
        questionItem.setId(uid);
        mapper.save(questionItem);
        MapperUtil.close(session);
    }

    /**
     * 根据多ID删除
     * @param id
     */
    @Override
    public boolean deleteById(String id) {
        SqlSession session=null;
        boolean flag=false;
        try {
            session = MapperUtil.getSession();
            QuestionItemMapper mapper = session.getMapper(QuestionItemMapper.class);
            mapper.deleteById(id);
            flag=true;
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            MapperUtil.close(session);
        }
        return flag;
    }

    /**
     * 根据id查找对象
     * @param id
     * @return
     */
    @Override
    public QuestionItem findById(String id) {
        SqlSession session = MapperUtil.getSession();
        QuestionItemMapper mapper = session.getMapper(QuestionItemMapper.class);
        QuestionItem questionItem=mapper.findById(id);
        MapperUtil.close(session);
        return questionItem;
    }

    /**
     * 更新对象数据
     * @param questionItem
     */
    @Override
    public void update(QuestionItem questionItem) {
        //1、获取sesssion
        SqlSession session = MapperUtil.getSession();
        //2、获取代理对象
        QuestionItemMapper mapper = session.getMapper(QuestionItemMapper.class);
        mapper.update(questionItem);
        //3、关闭资源
        MapperUtil.close(session);

    }
}
